[INFO] fetching crate fuse-backend-rs 0.14.0...
[INFO] fixing fuse-backend-rs-0.14.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate fuse-backend-rs 0.14.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate fuse-backend-rs 0.14.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate fuse-backend-rs 0.14.0
[INFO] tweaked toml for crates.io crate fuse-backend-rs 0.14.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate fuse-backend-rs 0.14.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate fuse-backend-rs 0.14.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923
[INFO] running `Command { std: "docker" "start" "71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   vm-memory v0.17.1 removed features: backend-bitmap
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling fuse-backend-rs v0.14.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking arc-swap v1.8.2
[INFO] [stderr]    Migrating build.rs from 2018 edition to 2021
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking vmm-sys-util v0.15.0
[INFO] [stderr]     Checking caps v0.5.6
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking vm-memory v0.17.1
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/macfuse_smoke.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/smoke.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.85s
[INFO] [stderr] crater-edition-check: fuse-backend-rs v0.14.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling fuse-backend-rs v0.14.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.62s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   vm-memory v0.17.1 removed features: backend-bitmap
[INFO] [stderr] 
[INFO] [stderr]     Checking fuse-backend-rs v0.14.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/passthrough/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/passthrough/file_handle.rs (3 fixes)
[INFO] [stderr]        Fixed src/passthrough/mount_fd.rs (1 fix)
[INFO] [stderr]        Fixed src/overlayfs/mod.rs (3 fixes)
[INFO] [stderr]        Fixed src/passthrough/statx.rs (1 fix)
[INFO] [stderr]        Fixed src/transport/fusedev/linux_session.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/vfs/mod.rs:508:28
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let _guard = self.lock.lock().unwrap();
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_guard` calls a custom destructor
[INFO] [stdout]     |             `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 508 |         if let Some(mnt) = self.mountpoints.load().get(&inode) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 518 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arc-swap-1.8.2/src/strategy/hybrid.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl<T: RefCnt> Drop for HybridProtection<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/overlayfs/mod.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |             if let Some(child) = self.lookup_child(ctx, name.as_str())? {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 320 |                 child_real_inodes.insert(name, child);
[INFO] [stdout]     |                 -------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 321 |             }
[INFO] [stdout] 322 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/overlayfs/mod.rs:927:15
[INFO] [stdout]     |
[INFO] [stdout] 926 |         let inode_store = self.inodes.read().unwrap();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `inode_store` calls a custom destructor
[INFO] [stdout]     |             `inode_store` will be dropped later as of Edition 2024
[INFO] [stdout] 927 |         match inode_store.get_inode(inode) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 931 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `inode_store` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/overlayfs/mod.rs:976:15
[INFO] [stdout]     |
[INFO] [stdout] 950 |         let pnode = match self.get_active_inode(parent) {
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pnode` calls a custom destructor
[INFO] [stdout]     |             `pnode` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 976 |         match pnode.child(name) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 981 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `pnode` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pnode` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/overlayfs/mod.rs:1080:30
[INFO] [stdout]      |
[INFO] [stdout] 1078 |             let parent = v.parent.lock().unwrap();
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `parent` calls a custom destructor
[INFO] [stdout]      |                 `parent` will be dropped later as of Edition 2024
[INFO] [stdout] 1079 |
[INFO] [stdout] 1080 |             if let Some(p) = parent.upgrade() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1084 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]      |
[INFO] [stdout]  474 | impl Drop for RealInode {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `parent` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:168:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let file = reopen_fd(
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `file` calls a custom destructor
[INFO] [stdout]     |                 `file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 162 |             let mut mount_fds_locked = self.map.write().unwrap();
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `mount_fds_locked` calls a custom destructor
[INFO] [stdout]     |                 `mount_fds_locked` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |             match mount_fds_locked.get(&mount_id).and_then(Weak::upgrade) { Some(mount_fd) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 186 |         };
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `mount_fds_locked` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/passthrough/mod.rs:655:19
[INFO] [stdout]     |
[INFO] [stdout] 655 |             match self.inode_map.get_alt(&id, handle_opt.as_ref()) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 658 |                 Some(data) => {
[INFO] [stdout]     |                      ----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `data` calls a custom destructor
[INFO] [stdout]     |                      `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 679 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/passthrough/mod.rs:697:19
[INFO] [stdout]     |
[INFO] [stdout] 684 |             let handle = if let Some(h) = handle_opt.clone() {
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `handle` calls a custom destructor
[INFO] [stdout]     |                 `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 691 |             let mut inodes = self.inode_map.get_map_mut();
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `inodes` calls a custom destructor
[INFO] [stdout]     |                 `inodes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 697 |             match InodeMap::get_alt_locked(inodes.deref(), &id, handle_opt.as_ref()) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 721 |         };
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `inodes` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/fusedev/linux_session.rs:603:11
[INFO] [stdout]     |
[INFO] [stdout] 557 |       let (send, recv) = UnixStream::pair().unwrap();
[INFO] [stdout]     |                  ----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `recv` calls a custom destructor
[INFO] [stdout]     |                  `recv` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 566 |       let mut cmd = match target_mntns {
[INFO] [stdout]     |           -------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `cmd` calls a custom destructor
[INFO] [stdout]     |           `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 578 |       let mut proc = cmd
[INFO] [stdout]     |           --------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `proc` calls a custom destructor
[INFO] [stdout]     |           `proc` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 603 |       match vmm_sys_util::sock_ctrl_msg::ScmSocket::recv_with_fd(&recv, &mut [0u8; 8]).map_err(
[INFO] [stdout]     |  ___________^
[INFO] [stdout] 604 | |         |e| {
[INFO] [stdout] 605 | |             SessionFailure(format!(
[INFO] [stdout] 606 | |                 "Unexpected error when receiving fuse file descriptor from fusermount: {}",
[INFO] [stdout] ...   |
[INFO] [stdout] 609 | |         },
[INFO] [stdout] 610 | |     )? {
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 616 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `recv` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `proc` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let cnt = src.read_vectored_volatile(
[INFO] [stdout]     |                         ---------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 199 | /                 &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout] 200 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 201 | |                     count,
[INFO] [stdout] 202 | |                 )]
[INFO] [stdout]     | |__________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |           let cnt = src.read_vectored_at_volatile(
[INFO] [stdout]     |                         ------------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 | /                 &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout] 228 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 229 | |                     count,
[INFO] [stdout] 230 | |                 )]
[INFO] [stdout]     | |__________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/mod.rs:268:31
[INFO] [stdout]     |
[INFO] [stdout] 268 |         while let Some(buf) = self.buffers.pop_front() {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |      |
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `buf` calls a custom destructor
[INFO] [stdout]     |                        `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/vfs/mod.rs:508:28
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let _guard = self.lock.lock().unwrap();
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_guard` calls a custom destructor
[INFO] [stdout]     |             `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 508 |         if let Some(mnt) = self.mountpoints.load().get(&inode) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 518 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arc-swap-1.8.2/src/strategy/hybrid.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl<T: RefCnt> Drop for HybridProtection<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/overlayfs/mod.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |             if let Some(child) = self.lookup_child(ctx, name.as_str())? {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 320 |                 child_real_inodes.insert(name, child);
[INFO] [stdout]     |                 -------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 321 |             }
[INFO] [stdout] 322 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/overlayfs/mod.rs:927:15
[INFO] [stdout]     |
[INFO] [stdout] 926 |         let inode_store = self.inodes.read().unwrap();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `inode_store` calls a custom destructor
[INFO] [stdout]     |             `inode_store` will be dropped later as of Edition 2024
[INFO] [stdout] 927 |         match inode_store.get_inode(inode) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 931 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `inode_store` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/overlayfs/mod.rs:976:15
[INFO] [stdout]     |
[INFO] [stdout] 950 |         let pnode = match self.get_active_inode(parent) {
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pnode` calls a custom destructor
[INFO] [stdout]     |             `pnode` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 976 |         match pnode.child(name) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 981 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `pnode` invokes this custom destructor
[INFO] [stdout]    --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl Drop for RealInode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pnode` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/overlayfs/mod.rs:1080:30
[INFO] [stdout]      |
[INFO] [stdout] 1078 |             let parent = v.parent.lock().unwrap();
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `parent` calls a custom destructor
[INFO] [stdout]      |                 `parent` will be dropped later as of Edition 2024
[INFO] [stdout] 1079 |
[INFO] [stdout] 1080 |             if let Some(p) = parent.upgrade() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1084 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/overlayfs/mod.rs:474:1
[INFO] [stdout]      |
[INFO] [stdout]  474 | impl Drop for RealInode {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `parent` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:168:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let file = reopen_fd(
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `file` calls a custom destructor
[INFO] [stdout]     |                 `file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 162 |             let mut mount_fds_locked = self.map.write().unwrap();
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `mount_fds_locked` calls a custom destructor
[INFO] [stdout]     |                 `mount_fds_locked` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |             match mount_fds_locked.get(&mount_id).and_then(Weak::upgrade) { Some(mount_fd) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 186 |         };
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `mount_fds_locked` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/passthrough/mod.rs:655:19
[INFO] [stdout]     |
[INFO] [stdout] 655 |             match self.inode_map.get_alt(&id, handle_opt.as_ref()) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 658 |                 Some(data) => {
[INFO] [stdout]     |                      ----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `data` calls a custom destructor
[INFO] [stdout]     |                      `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 679 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/passthrough/mod.rs:697:19
[INFO] [stdout]     |
[INFO] [stdout] 684 |             let handle = if let Some(h) = handle_opt.clone() {
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `handle` calls a custom destructor
[INFO] [stdout]     |                 `handle` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 691 |             let mut inodes = self.inode_map.get_map_mut();
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `inodes` calls a custom destructor
[INFO] [stdout]     |                 `inodes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 697 |             match InodeMap::get_alt_locked(inodes.deref(), &id, handle_opt.as_ref()) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 721 |         };
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]    --> src/passthrough/mount_fd.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Drop for MountFd {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handle` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `inodes` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/fusedev/linux_session.rs:603:11
[INFO] [stdout]     |
[INFO] [stdout] 557 |       let (send, recv) = UnixStream::pair().unwrap();
[INFO] [stdout]     |                  ----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `recv` calls a custom destructor
[INFO] [stdout]     |                  `recv` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 566 |       let mut cmd = match target_mntns {
[INFO] [stdout]     |           -------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `cmd` calls a custom destructor
[INFO] [stdout]     |           `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 578 |       let mut proc = cmd
[INFO] [stdout]     |           --------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `proc` calls a custom destructor
[INFO] [stdout]     |           `proc` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 603 |       match vmm_sys_util::sock_ctrl_msg::ScmSocket::recv_with_fd(&recv, &mut [0u8; 8]).map_err(
[INFO] [stdout]     |  ___________^
[INFO] [stdout] 604 | |         |e| {
[INFO] [stdout] 605 | |             SessionFailure(format!(
[INFO] [stdout] 606 | |                 "Unexpected error when receiving fuse file descriptor from fusermount: {}",
[INFO] [stdout] ...   |
[INFO] [stdout] 609 | |         },
[INFO] [stdout] 610 | |     )? {
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 616 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `recv` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `proc` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/macfuse_smoke.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let cnt = src.read_vectored_volatile(
[INFO] [stdout]     |                         ---------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 199 | /                 &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout] 200 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 201 | |                     count,
[INFO] [stdout] 202 | |                 )]
[INFO] [stdout]     | |__________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |           let cnt = src.read_vectored_at_volatile(
[INFO] [stdout]     |                         ------------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 | /                 &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout] 228 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 229 | |                     count,
[INFO] [stdout] 230 | |                 )]
[INFO] [stdout]     | |__________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/transport/mod.rs:268:31
[INFO] [stdout]     |
[INFO] [stdout] 268 |         while let Some(buf) = self.buffers.pop_front() {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |      |
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `buf` calls a custom destructor
[INFO] [stdout]     |                        `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/smoke.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.45s
[INFO] [stderr] crater-edition-check: fuse-backend-rs v0.14.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling fuse-backend-rs v0.14.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:199:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let cnt = src.read_vectored_volatile(
[INFO] [stdout]     |                         ---------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 199 |                   &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 200 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 201 | |                     count,
[INFO] [stdout] 202 | |                 )]
[INFO] [stdout]     | |                  ^
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________temporary value is freed at the end of this statement
[INFO] [stdout]     |                    creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |           let cnt = src.read_vectored_at_volatile(
[INFO] [stdout]     |                         ------------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 |                   &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 228 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 229 | |                     count,
[INFO] [stdout] 230 | |                 )]
[INFO] [stdout]     | |                  ^
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________temporary value is freed at the end of this statement
[INFO] [stdout]     |                    creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fuse-backend-rs` (lib) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:199:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |           let cnt = src.read_vectored_volatile(
[INFO] [stdout]     |                         ---------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 199 |                   &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 200 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 201 | |                     count,
[INFO] [stdout] 202 | |                 )]
[INFO] [stdout]     | |                  ^
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________temporary value is freed at the end of this statement
[INFO] [stdout]     |                    creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/transport/fusedev/mod.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |           let cnt = src.read_vectored_at_volatile(
[INFO] [stdout]     |                         ------------------------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 |                   &[FileVolatileSlice::from_raw_ptr(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 228 | |                     self.buf.as_mut_ptr().add(self.buf.len()),
[INFO] [stdout] 229 | |                     count,
[INFO] [stdout] 230 | |                 )]
[INFO] [stdout]     | |                  ^
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________temporary value is freed at the end of this statement
[INFO] [stdout]     |                    creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fuse-backend-rs` (lib test) due to 2 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923", kill_on_drop: false }`
[INFO] [stdout] 71e850f2f9ee3ab808de2d140f327e3db324d358d71d5726d9870c5d455ce923
